Skip to content

feat(reports): surface attestation PDF + OSCAL SAR downloads in the UI#645

Merged
remyluslosius merged 1 commit into
mainfrom
feat/reports-attestation-face-downloads
Jun 22, 2026
Merged

feat(reports): surface attestation PDF + OSCAL SAR downloads in the UI#645
remyluslosius merged 1 commit into
mainfrom
feat/reports-attestation-face-downloads

Conversation

@remyluslosius

Copy link
Copy Markdown
Contributor

Summary

The attestation report detail offered only CSV (primary) + JSON, leaving the OSCAL SAR (#643) and PDF cover (#644) faces reachable by API only. This wires them into the download UI so all three attestation faces are usable.

A secondaryFaces list, keyed on the resolved report kind, renders extra download buttons:

  • Attestation: [Download CSV] (primary) [PDF] [OSCAL SAR] [JSON] [Verify]
  • Executive: [Download PDF] (primary) [JSON] [Verify] — no extras

The extra controls share the onDownload handler, the in-flight downloading state, and the downloadError surface; downloadReportFace's format union gains 'oscal_sar'.

Spec / tests

  • frontend-reports v1.7.0: new C-10 + AC-11 (source-inspection test asserting the kind-keyed secondaryFaces list, the PDF + OSCAL SAR entries, the mapped buttons, and the widened format union).
  • tsc / eslint / prettier clean; vitest run tests/pages/reports.test.ts 11/11; specter check 111 specs structural + 0 annotation errors.

Validation

  • tsc / eslint / prettier
  • vitest reports suite (11 passed)
  • specter check (structural + annotation hygiene)

The attestation report detail offered only CSV (primary) + JSON, leaving
the OSCAL SAR (B2) and PDF cover (B3b) faces reachable by API only. Add a
secondaryFaces list, keyed on the resolved report kind, that renders extra
download buttons:

- Attestation: PDF (the bounded cover) + OSCAL SAR (the fleet
  assessment-results), beside the primary CSV and JSON.
- Executive: none (its PDF is the primary).

The extra controls share the onDownload handler, the in-flight downloading
state, and the downloadError surface; downloadReportFace's format union
gains 'oscal_sar'.

Spec frontend-reports v1.7.0: C-10 + AC-11 (source-inspection test).
@remyluslosius remyluslosius merged commit ae8a719 into main Jun 22, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant